System.out.println() ในภาษา Java ถือว่าออกแบบผิดหลักการข้อใด?
.
อันนี้อ้างอิงตามตำรา
Head First Design Patterns (2008) หน้า 268 📗 📗
(ใครมีตำราก็ไปกางเปิดดูได้)
.
👧 คำตอบ การออกแบบคำสั่งชุดนี้ในภาษา Java
จะถือว่าผิดหลักการออกแบบโปรแกรมเรื่อง
"Principle of Least Knowledge"
แปลเป็นไทย "หลักการของความรู้น้อยที่สุด"
.
Principle of Least Knowledge
เป็นหลักการออกแบบ Object ให้รู้จักเพื่อนๆ ที่ใกล้ชิดไม่กี่คน 👩❤️💋👨
.
.
จากประโยคคำสั่ง System.out.println()
System กว่าจะรู้จัก println() ก็ต้องผ่าน out มันไกลเกินไปลูกพี่
ซึ่งข้อเสียมันทำให้โค้ดมีลักษณะยึดติดกันเกินไป
.
ศัพท์ทาง Object Oriented Programming โค้ดจะมีอาการเรียกว่า "coupling" โค้ดเป็นคู่สามีภรรยา เกี่ยวดองกันแนบแน่น
เช่น ถ้าเกิด out มีการแก้ไขก็จะกระเทือนต่อ println() และ System ไปด้วย (อันนี้แค่ยกตัวอย่างนะ ของจริงอาจไม่กระทบเลยก็ได้)
.
ในขณะที่ภาษาสมัยใหม่พวก Swift, Kotlin
จะเขียนสั้นๆ print(), println() ตามลำดับ
ไม่ต้องมาทำพิธีกรรมเรียกหลายชั้น หลายซ้อนแบบนี้
ก็เราแค่แสดงผลออกทางหน้าคอนโซลนี้น่า
มันจะทำอะไรให้มันวุ่นวายไปใย
.
จะขอยกตัวอย่างโค้ดในหนังสือเช่น
station.getThermometer().getTemperature();
เขียนแบบนี้ จะเห็นว่ามันยาวเหยียด
ถ้าเขียนครั้งเดียวพอทนได้
แต่ถ้าให้เขียนซ้ำๆ มันขี้เกียจเหมือนกันเนอะ
.
สำหรับวิธีแก้ไขปัญหาโค้ดที่ละเมิดหลัก
"Principle of Least Knowledge"
ไม่ยากเลย เราสามารถใช้หลักของดีไซน์แพทเทิร์นตัวหนึ่ง
นั้นก็คือ "เดอะเฟสไทยแลนด์"
...เฮยไม่ใช่แหละ 😜 😜
.
ใช้แพทเทิร์นที่เรียกว่า "The Facade"
เพื่อแก้ไขโค้ดลักษณะนี้
สนใจก็อย่าลืมไปทบทวน
ดีไซน์แพทร์นของ GOF นะ (ขอไม่ลงรายละเอียด)
.
แต่จะว่าไปมันก็เป็นแค่แนวคิดและหลักการเฉยๆ
แล้วแต่เราแหละ เขียนผิดหลักการยังไง
โค้ดก็รันได้ ปกติอยู่แล้ว
มันเป็นแนวคิด ไม่ใช้กฏหมายบังคับซะเมื่อไร
.
เพราะถ้าคนออกแบบเขาจะเอาแบบนี้
ชอบแบบนี้ ชอบที่เป็นแบบนี้ ชอบแววตาแบบนี้
ชอบรอยยิ้มแบบนี้ ก็ชอบคนนี้ ...โฮ้ว~~~
.
ถ้าทำแล้วโค้ดไร้บั๊ก ลูกค้าแฮปปี้พอใจ จ่ายเงินให้เรา ก็คือโอเคสองฝ่าย
ส่วนโปรแกรมเมอร์ที่มารับไม้ต่อ ไม่ชอบดีไซน์โค้ดแบบนี้
ก็จับ refactoring เอาเองแล้วกันเด้อ
.
อีกอย่างที่ยกตัวอย่างมาเป็นภาษา Java
ซึ่ง System.out.println() ใช้กันเป็นเรื่องปกติ
บิดา Java เขาจัดวาง println() ให้อยู่เป็นสัดเป็นส่วนอย่างนี้เอง
.
แต่เราต้องยอมรับว่า IDE ปัจจุบันมันฉลาดมาก
บางตัวแค่พิมพ์ S ก็แสนรู้
เดาใจเราออกว่าเราจะพิมพ์ System.out.println();
IDE สมัยนี้มันช่วยเราได้เยอะเลยทีเดียว
ไม่ต้องเสียเวลาพิมพ์ยาวเมื่อยมือ เสียเวลา
แต่ถ้ายังใช้ notepad อยู่ ก็ต้องทนเหนื่อยเอา
.
.
.
.
.
.
.
.
.
.
.
.
ทิ้งท้ายก่อนจากกันไป
<ประชาสัมพันธ์ขายของ>
หนังสือ "โปรแกรมเมอร์ก็รวยได้ ด้วยเส้นทางเอาท์ซอร์สสายดำ"
หนังสือที่จะเล่าเส้นทางสายเอาท์ซอร์สเงินดีรายได้งาม
✔ สำหรับตัวอย่างหนังสือ 👇
PDF: https://drive.google.com/file/d/1tAnMozeYd63dcbBGTQmT_ZrpSaamZS3e/edit
หรือดูจาก youtube: https://youtu.be/Ljf9iJhLcIs
.
รายละเอียดอ่านเพิ่มเติมได้ที่่ 👇
https://www.patanasongsivilai.com/blog/sale_book_rich_with_outsource/
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
เราจะผ่านโควิด-19 ไปกันนะทุกคคนนน
同時也有1部Youtube影片,追蹤數超過47萬的網紅KAWAII PATEEN,也在其Youtube影片中提到,KAWAII♥PATEEN Skill-up #6 TRADITIONAL - SWEET - GOTHIC - CLASSICAL - PRINCE Lolita Styles reference Tutorial by Misako Aoki -- Videos in this serie...
「head first design patterns」的推薦目錄:
- 關於head first design patterns 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
- 關於head first design patterns 在 เกมถูกบอกด้วย v.2 Facebook 的最佳貼文
- 關於head first design patterns 在 Eszter Chen Facebook 的最佳解答
- 關於head first design patterns 在 KAWAII PATEEN Youtube 的最佳解答
- 關於head first design patterns 在 Code for Head First Design Patterns book (2014) - GitHub 的評價
- 關於head first design patterns 在 Duck example strategy pattern - Head first design pattern 的評價
- 關於head first design patterns 在 深入淺出設計模式(Head First Design Patterns) | Facebook 的評價
- 關於head first design patterns 在 Amazon.com: Head First Design Patterns (9780596007126) 的評價
- 關於head first design patterns 在 Head First Design Patterns - Tags 的評價
head first design patterns 在 เกมถูกบอกด้วย v.2 Facebook 的最佳貼文
https://www.humblebundle.com/books/software-development-oreilly-books?partner=ggcp
แพ็คใหม่จาก Humble นะครัช ครั้งนี้คือ HUMBLE BOOK BUNDLE: SOFTWARE DEVELOPMENT BY O'REILLY รายละเอียดมีดังนี้
.
จ่าย $1 รับ
- Technology Strategy Patterns
- Apprenticeship Patterns
- 97 Things Every Programmer Should Know
- The Art of Readable Code
- Algorithms in a Nutshell - 2nd Edition
.
จ่าย $8 รับเพิ่ม
- Test-Driven Development with Python - Second Edition
- Introduction to Machine Learning with Python
- Becoming a Better Programmer
- Regular Expressions Cookbook - Second Edition
- Head First Agile
.
จ่าย $15 รับเพิ่ม
- Learning CoreDNS
- Programming Quantum Computing
- Cloud Native
- Real-World Software Development
- Head First Design Patterns
.
รายละเอียดเพิ่มเติมดูที่หน้าร้านค้า
https://www.humblebundle.com/books/software-development-oreilly-books?partner=ggcp
.
อนึ่ง eBook ภาษาอังกฤษล้วน
.
อสอง ดีลนี้หมดเวลาในอีก 20 วันกว่าๆ
.
อสาม ก็ตามชื่อแพ็คคือรวมหนังสือเกี่ยวกับการพัฒนาซอฟท์แวร์ของ O'REILLY ใครเรียนหรือทำงานด้านนี้อยู่ก็จัดกันไป
.
หนังสือดีราคาถูกแบบนี้
ไม่สอยได้ไงพี่น้องงงง
https://www.humblebundle.com/books/software-development-oreilly-books?partner=ggcp
-------------------------------
แค่เติมเงินก็ได้ Steam Wallet แล้ว >> GetSteamWallet.com
-------------------------------
HUMBLE CAPCOM MEGA BUNDLE จ่าย $20 รับสตีมคีย์ Resident Evil 0 - 1 - Revelations 1 - 2, Mega Man 11, Devil May Cry® 4 Special Edition, Dragon's Dogma Dark Arisen และอื่นๆ ดูที่นี่ - http://bit.ly/2IXNZYE
head first design patterns 在 Eszter Chen Facebook 的最佳解答
// Collection//
這次的日本東京小旅行當然也造訪了 代官山 蔦屋書店 DAIKANYAMA T-SITE
除了有許多國外進口及許多日本本地的藝術家書籍豐富陳列
我眼睛既然飄到了更讓我有興趣的東西
其實在學生時期就因為閱讀到Alexander Girard 的 設計所以就很希望有一天能收藏他的設計 特別是木偶系列
一下看到他們我腦袋也停止平常購物的分析工能 直接覺定下手
Alexander Girard 是位美國籍活躍於義大利的織品和印花設計師,跨行室內與家具設計師,與Eames 設計師夫婦和 George Nelson 為具有影響力的二戰後當代設計師
在20到70年代間完成了無數著名的室內家居設計的相關作品,也曾擔任家具品牌Herman Miller的設計總監
他的木偶裝置系列( Wooden Dolls) 在1952年設計出放置他在Santa Fe的家中所誕生
在他過世後他的家人將手稿和原作捐給了 著名瑞士家具大廠Vitra 的設計博物館, 請工匠手工繼續生產每一款木偶
用杉木打造與手工彩繪上色 每一個都是獨一無二
感覺這些有趣的木偶也是設計師Alexander在旅途中所觀察世界所有不同特色的人而所產下的寶物
每一款木偶在全世界各地都分別可以買到收藏
完整系列在Vitra 官方網站 https://www.vitra.com/en-us/product/wooden-dolls#t/tab-info
My first collection of Alexander Girard Wooden Doll 1952
Found in TSUTAYA BOOKS STORE (蔦屋書店) Tokyo.
Alexander Girard was one of the leading figures of postwar American design, along with his close friends and colleagues George Nelson and Charles and Ray Eames.
The primary focus of his wide-ranging oeuvre was textile design: as head of the textile division at the Herman Miller Company, Girard created numerous textile patterns and products reflecting his love of festive colours, patterns and textures. He favoured abstract and geometric forms in a variety of different colour constellations, typically featuring a cheerful palette.
On his extensive travels, he avidly collected textiles from all over the world, which provided him with a rich source of inspiration and ideas. (text from https://www.vitra.com/)
head first design patterns 在 KAWAII PATEEN Youtube 的最佳解答
KAWAII♥PATEEN Skill-up #6
TRADITIONAL - SWEET - GOTHIC - CLASSICAL - PRINCE
Lolita Styles reference Tutorial
by Misako Aoki
-- Videos in this series --
Lolita genres reference :
https://www.youtube.com/watch?v=E0izDSIrrus&index=3&list=PL7k_Q9ypWTRJ-9qtctz7AVh3071QGAfJP
Lolita Hair accessories reference :
https://www.youtube.com/watch?v=PtmTwpPI10Q&index=1&list=PL7k_Q9ypWTRIJAU1hhlCCMreZHqeX-MbG
There are a lot of styles in Lolita fashion : Traditional, classical, gothic, sweet, prince, punk, pirate etc... and it is often difficult to get the difference between some of them, so we grouped them in 5 main categories and had Misako Aoki explain them thoroughly especially for KAWAII PATEEN.
This video is an extension of the styles Misako presented in her noes Lolita fasshion book, which presentation video is here :
https://www.youtube.com/watch?v=waoNw9Od9QA
--
Have fun with Fashion!
- KAWAII♥PATEEN -
Everything kawaii, Street fashion snaps, makeup tutorials and reports on fashion events in TOKYO!!
Also on Facebook with tons of photos :
https://www.facebook.com/Tokyo.Street.Fashion.KAWAII.PATEEN
—
Official site : http://waoryu.jp
Hi everyone, this is Aoki Misako (Japanese name order; the surname is Aoki).
Today, I'm paying a visit to the storeroom of Baby, The Stars Shine Bright (top lolita fashion boutique chain in Japan, shortened to Baby).
Here, I'll introduce 5 major styles in lolita fashion.
The first is "Traditional Lolita".
This style consists of cute, girlish dresses made from plain, natural-toned fabrics and lace.
Traditional Lolita is the old-school style worn by (actress) Fukada Kyoko in the movie Kamikaze Girls. It places a lot of emphasis on basic colors, lace and ribbons to achieve that sweet, feminine look.
Even though patterned fabrics are all the rage these days, vintage dresses like these with natural cloth and lots of lace are timeless and have never gone out of style.
The chest area of this dress is shirred, making it exceptionally comfortable and easy to wear. Check out these 2 ribbons. The blouse can easily be matched with anything.
These items are sold in a set by Baby, making it easy even for beginners to coordinate, such as with this matching Alice band.
Now i'll introduce hair accessories for the Traditional Lolita style.
First is this headdress i'm wearing; it's a classic piece that is iconic of Lolita fashion.
Next are these ribbon hair ties, which can be used to create an array of hairstyles, such as twin ponytails.
And here is perhaps the easiest item to accessorize with, the ribbon Alice band. Like magic, the simple addition of one can turn any look from plain to adorable.
At times when you want to tone down your Traditional Lolita outfit, or during cold weather, i recommend these fluffy beret hats.
The style I'm wearing now is called "Sweet Lolita".
The hallmark of this style is pink color from head to toe, together with patterns featuring chocolates, candy, animals and other such sweet and cuddly motifs.
This Sweet Lolita dress's design features Baby's original character Kuma Kumya, along with cookies and chocolates. It is a very popular style at the moment.
When you put it on, it looks so sweet that you could almost smell the aroma of chocolate coming from it!
This piece has a "Kumya and Friends" design with a Halloween theme. Lately, having seasonal themed designs such as for Christmas and Halloween has become very popular in the Lolita fashion world.
The design of this piece is called "Alice's Dollhouse". It is filled with images of Alice having a tea party with her animal friends like Rabbit and Cat.
Sweet Lolita is all about pink - for example this blouse made of pink fabric coordinated with this jumper decorated with pink patterns. On top of this pink-on-pink theme, it uses images of sweet things like candy and pastries, and feminine things like cosmetics, to really maximise the sense of feminine identity.
This piece I'm wearing retells the story of Hansel and Gretel with lots of sweets, it's really cute, and one of the bestsellers as well.
For the Sweet Lolita, carrying an animal-shaped bag like this one further enhances the cuteness of the look.
This one is Kuma Kumya, and this one is Rabbit Kumya. It has a 'kiss lock' type metal clasp.
Many Sweet Lolitas coordinate their outfits with accessories like these. For an even bolder statement, you could also go for a backpack. It's just big enough to contain snacks and sweets.
As for hair accessories for the Sweet Lolita, besides the ubiquitous ribbon Alice band, mini hats like this are in fashion now.
This one is designed to look like a piece of strawberry chocolate, and other than wearing it on your own head, you could also let Kuma Kumya wear it!
head first design patterns 在 Duck example strategy pattern - Head first design pattern 的推薦與評價
... <看更多>
head first design patterns 在 深入淺出設計模式(Head First Design Patterns) | Facebook 的推薦與評價
深入淺出設計模式(Head First Design Patterns) 。 1 個讚。書籍. ... <看更多>
head first design patterns 在 Code for Head First Design Patterns book (2014) - GitHub 的推薦與評價
Code for Head First Design Patterns book (2014). Contribute to bethrobson/Head-First-Design-Patterns development by creating an account on GitHub. ... <看更多>